package com.yzx.service;

import com.yzx.domain.SysMenu;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yzx.dto.SimpleUser;
import dto.SysMenuDto;

import java.util.List;
import java.util.Map;

public interface SysMenuService{

    /**
     * 查询菜单信息
     * 如查用户是超级管理员，那么查询所以菜单和权限
     * 如果用户是普通用户，那么根据用户ID关联角色和权限
     * @param isAdmin 是否是超级管理员
     * @param  simpleUser  如果isAdmin=true  simpleUser可以为空
     */
    public List<SysMenu> selectMenuTree(boolean isAdmin, SimpleUser simpleUser);

    List<Map<String, Object>> dynamicMenu();

    List<SysMenu> getMenuByParentId(Long id);

    List<SysMenu> listAllMenus(SysMenuDto sysMenuDto);

    int addMenu(SysMenuDto sysMenuDto);

    int updateMenu(SysMenuDto sysMenuDto);

    int deleteMenuById(Long menuId);

    SysMenu getMenuById(Long menuId);

    boolean hasChildMenu(Long menuId);
}

